package com.ssyt.store.sys.dao.impl;


import java.util.List;

import org.springframework.stereotype.Repository;

import com.ssyt.store.common.BaseDao;
import com.ssyt.store.common.PageModel;
import com.ssyt.store.sys.dao.StoreShoppingCartDao;
import com.ssyt.store.sys.entity.StoreCart;

@Repository
public class StoreShoppingCartDaoImpl extends BaseDao<StoreCart, String> implements StoreShoppingCartDao {

	@Override
	public PageModel<StoreCart> list(Integer pageNo, String userId) {
		return pageEntityByHql(pageNo, 10, "FROM StoreCart WHERE sysUserId=? AND state=1", userId);
	}

	@Override
	public StoreCart getStoreCart(String id) {
		return get(id);
	}

	@Override
	public void addStoreCart(String id, String productId, int count) {
		StoreCart cart = new StoreCart();
		cart.setStoreProductId(productId);
		cart.setCount(count);
		cart.setSysUserId(id);
		cart.setState((byte) 1);
		save(cart);
	}

	@Override
	public void deleteShoppingCartById(String productId) {
		StoreCart storeCart = get(productId);
		if(storeCart != null){
			storeCart.setState((byte)3);
			update(storeCart);
		}
	}

	@Override
	public void deleteAllShoppingCartByUserId(String userId) {
		String hql = "FROM StoreCart WHERE sysUserId=?";
		List<StoreCart> products = listEntityByHql(hql, userId);
		if(products != null){
			for (StoreCart storeCart : products) {
				storeCart.setState((byte)3);
				update(storeCart);
			}
		}	
	}
}
